Method and system for advertisement insertion and playback for stb with pvr functionality

ABSTRACT

A personal video recorder (PVR) enabled set-top box (STB) may be operable to store an advertisement and associated playback control information received from a media provider into a storage device in the PVR enabled STB, schedule the stored advertisement for viewing based on the associated playback control information. The PVR enabled STB may be operable to insert the stored advertisement into media content for one or more times based on the scheduling. The PVR enabled STB may be operable to cause display of the stored advertisement and the media content in different transport formats. At a forward/reverse playback position during a PVR playback, the PVR enabled STB may be operable to cause display of the stored advertisement when a play count associated with the stored advertisement is less than a count threshold at the forward/reverse playback position.

CROSS REFERENCE TO RELATED PATENTS/PATENT APPLICATIONS Continuation Priority Claim, 35 U.S.C. §120

The present U.S. Utility Patent Application claims priority pursuant to 35 U.S.C. §120, as a continuation, to U.S. Utility patent application Ser. No. 12/617,849, filed Nov. 13, 2009, pending, entitled “METHOD AND SYSTEM FOR ADVERTISEMENT INSERTION AND PLAYBACK FOR STB WITH PVR FUNCTIONALITY”, pending, which is hereby incorporated herein by reference in its entirety and made part of the present U.S. Utility Patent Application for all purposes.

U.S. Utility patent application Ser. No. 12/617,849 claims priority pursuant to 35 U.S.C. §120, as a continuation-in-part (CIP), to U.S. Utility patent application Ser. No. 10/675,468, entitled “MEDIA PROCESSING SYSTEM SUPPORTING PERSONAL ADVERTISEMENT CHANNEL AND ADVERTISEMENT INSERTION INTO BROADCASE MEDIA”, filed Sep. 30, 2003, pending, which is hereby incorporated herein by reference in its entirety and made part of the present U.S. Utility Patent Application for all purposes.

U.S. Utility patent application Ser. No. 10/675,468 claims priority pursuant to 35 U.S.C. §119(e) to the following U.S. Provisional Patent Applications which are hereby incorporated herein by reference in their entirety and made part of the present U.S. Utility Patent Application for all purposes:

-   -   a. U.S. Provisional Patent Application Ser. No. 60/457,179,         entitled “SERVER ARCHITECTURE SUPPORTING A PERSONAL MEDIA         EXCHANGE NETWORK”, filed Mar. 25, 2003, now expired;     -   b. U.S. Provisional Patent Application Ser. No. 60/447,110,         entitled “MEDIA PROCESSING SYSTEM SUPPORTING PERSONAL         ADVERTISEMENT CHANNEL AND ADVERTISEMENT INSERTION INTO BROADCAST         MEDIA”, filed Feb. 12, 2003, now expired;     -   c. U.S. Provisional Patent Application Ser. No. 60/443,894,         entitled “ACCESS AND CONTROL OF MEDIA PERIPHERALS VIA A MEDIA         PROCESSING SYSTEM”, filed Jan. 30, 2003, now expired; and     -   d. U.S. Provisional Patent Application Ser. No. 60/432,472,         entitled “PERSONAL INTER-HOME MEDIA EXCHANGE NETWORK”, filed         Dec. 11, 2002, now expired.

BACKGROUND OF THE INVENTION

1. Technical Field of the Invention

Certain embodiments of the invention relate to advertising over a communication network. More specifically, certain embodiments of the invention relate to a method and system for advertisement insertion and playback for STB with PVR functionality.

2. Description of Related Art

Currently, television (TV) commercials or advertisements are provided by third (3^(rd))) arty broadcasters independent of the person that may be viewing the commercial or advertisement. Inserting commercials or advertisements into the TV programs or media content and showing these advertisements to audiences or consumers are key applications for the broadcast service providers or media providers.

In order to reach a wide range of consumers, advertisers make various attempts at predicting, based on the type of media content, those who may be consuming the media content and, therefore, who would be more likely to view their advertisements. Based on these predictions, advertisers may target those consumers that are more likely to consume a particular type of media content that may be associated with certain types of commercials or advertisements. However, many consumers of various types of media content often ignore many commercials or advertisements because the consumers are not interested in those commercials or advertisements. Also, commercials or advertisements that are of interest to a consumer may not be viewed by a consumer since a consumer may be unavailable when the commercials or advertisements are being presented. For example, a consumer may not be watching television at the instants when a particular commercial is being broadcasted.

Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with the present invention as set forth in the remainder of the present application with reference to the drawings.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a block diagram illustrating an exemplary media exchange network that is operable to provide advertisement insertion and playback for STB with PVR functionality, in accordance with an embodiment of the invention.

FIG. 2 is a block diagram illustrating an exemplary PVR enabled STB that is operable to provide advertisement insertion and playback for STB with PVR functionality, in accordance with an embodiment of the invention.

FIG. 3 is a block diagram illustrating an exemplary Ad processing module that is operable to provide advertisement insertion and playback for STB with PVR functionality, in accordance with an embodiment of the invention.

FIG. 4 is a flow chart illustrating exemplary steps for advertisement insertion and playback for STB with PVR functionality, in accordance with an embodiment of the invention.

FIG. 5 is a flow chart illustrating exemplary steps for controlling advertisement insertion and playback during PVR playback, in accordance with an embodiment of the invention.

DETAILED DESCRIPTION OF THE INVENTION

A system and/or method for advertisement insertion and playback for STB with PVR functionality, substantially as shown in and/or described in connection with at least one of the figures, as set forth more completely in the claims. Various advantages, aspects and novel features of the present invention, as well as details of an illustrated embodiment thereof, will be more fully understood from the following description and drawings.

Certain embodiments of the invention can be found in a method and system for advertisement insertion and playback for STB with PVR functionality. In various embodiments of the invention, a personal video recorder (PVR) enabled set-top box (STB) may be operable to store an advertisement and associated playback control information received from a media provider into a storage device in the PVR enabled STB, schedule the stored advertisement for viewing based on the associated playback control information, and cause display of the stored advertisement at a scheduled time based on the scheduling and a PVR operation of the PVR enabled STB. The PVR enabled STB may be operable to insert the stored advertisement into media content for one or more times based on the scheduling. In this regard, the PVR enabled STB may be operable to cause display of the stored advertisement and the media content in different transport formats. The PVR enabled STB may be operable to replace an original advertisement carried in the media content with the stored advertisement. The PVR enabled STB may be operable to convert a transport format associated with the stored advertisement to a different transport format associated with the media content for display.

The PVR enabled STB may be operable to receive the media content remotely from the media provider or receive the media content locally from the storage device during a PVR playback of the PVR operation. In this regard, the PVR enabled STB may be operable to set a play count associated with the stored advertisement to a value of zero at a beginning of the PVR playback, increase the play count according to the display of the stored advertisement during the PVR playback and compare the play count to a count threshold at a forward/reverse playback position during the PVR playback. In instances when the play count associated with the stored advertisement is less than the count threshold at the forward/reverse playback position, the PVR enabled STB may be operable to cause display of the stored advertisement, increase the play count associated with the stored advertisement by a value of one at an end of the display of the stored advertisement and cause display of the media content at the end of the display of the stored advertisement. In instances when the play count associated with the stored advertisement is equal to or greater than the count threshold at the forward/reverse playback position, the PVR enabled STB may be operable to cause display of the media content directly.

FIG. 1 is a block diagram illustrating an exemplary media exchange network that is operable to provide advertisement insertion and playback for STB with PVR functionality, in accordance with an embodiment of the invention. Referring to FIG. 1, there is shown a media exchange network 100. The media exchange network 100 may comprise a media provider 103, a communication infrastructure 104 and a user location which may be a user's home 102. The user's home 102 may comprise a PVR enabled STB 105 and a display device such as a TV screen 106.

The media provider 103 may comprise suitable logic, circuitry, interfaces and/or code that may be operable to provide media content or TV programs to user locations such as the user's home 102 via the communication infrastructure 104. The media provider 103 may be operable to supply commercials or advertisements in video, audio and/or textual formats to the PVR enabled STB 105 for local advertisement insertion and playback. The media provider 103 may be a television broadcaster, a portal, a radio broadcaster, an advertisement company and/or an Internet service provider (ISP), any of which may provide media content in a digital format.

The communication infrastructure 104 may comprise suitable logic, devices, interfaces and/or code that may be operable to provide access and/or transport functionality that may facilitate the exchange of media between, for example, the user's home 102 and the media provider 103. The communication infrastructure 104 may comprise cable infrastructure, DSL infrastructure, satellite network infrastructure, Internet infrastructure, intranet infrastructure or other similar access and/or transport infrastructure.

The PVR enabled STB 105 may comprise suitable logic, circuitry, interfaces and/or code that may be operable to receive, process and/or decode the media content and/or advertisements from the media provider 103 via the communication infrastructure 104. The PVR enabled STB 105 such as, for example, a cable TV receiver or a satellite TV receiver may be operable to provide personal video recorder (PVR) or digital video recorder (DVR) functionality and record video or media in a digital format into a storage device such as, for example, a hard disk a flash drive or other non-volatile storage device in the PVR enabled STB.

The PVR enabled STB 105 may be operable to store an advertisement and associated playback control information such as, for example, an insertion descriptor received from a media provider 103 into the storage device in the PVR enabled STB 105, schedule the stored advertisement for viewing based on the associated playback control information, and cause display of the stored advertisement at a scheduled time based on the scheduling and a PVR operation of the PVR enabled STB 105. The PVR enabled STB 105 may be operable to insert the stored advertisement into media content for one or more times based on the scheduling. In an exemplary embodiment of the invention, the PVR enabled STB 105 may be operable to cause display of the stored advertisement and the media content in different transport formats. Different transport formats may comprise MPEG-2, ASF, Flash, MP4, DIRECTV DSS, etc. In this regard, for example, the stored advertisement may be in a DIRECTV DSS format while the media content may be in a MPEG-2 transport format. In an exemplary embodiment of the invention, the PVR enabled STB 105 may be operable to replace an original advertisement carried in the media content with the stored advertisement. In an exemplary embodiment of the invention, the PVR enabled STB 105 may be operable to convert a transport format associated with the stored advertisement such as a DIRECTV DSS format to a different transport format associated with the media content such as a MPEG-2 transport format for display.

The PVR enabled STB 105 may be operable to receive the media content remotely from the media provider 103 or receive the media content locally from the storage device during a PVR playback of the PVR operation. In this regard, the PVR enabled STB 105 may be operable to set a play count associated with the stored advertisement to a value of zero at a beginning of the PVR playback, increase the play count according to the display of the stored advertisement during the PVR playback and compare the play count to a count threshold at a forward/reverse playback position during the PVR playback. The forward/reverse playback positions may comprise, for example, FF, REW or the like. In instances when the play count associated with the stored advertisement is less than the count threshold at the forward/reverse playback position, the PVR enabled STB 105 may be operable to cause display of the stored advertisement, increase the play count associated with the stored advertisement by a value of one at an end of the display of the stored advertisement and cause display of the media content at the end of the display of the stored advertisement. In instances when the play count associated with the stored advertisement is equal to or greater than the count threshold at the forward/reverse playback position, the PVR enabled STB 105 may be operable to cause display of the media content directly. In this regard, the PVR enabled STB 105 may be able to enforce the display of correlated advertisements and/or allow no skipping of advertising during the PVR playback.

The TV screen 106 may comprise suitable logic, circuitry, interfaces and/or code that may be operable to display or present processed or decoded media content or TV programs as well as inserted advertisements to users.

In operation, the PVR enabled STB 105 may be operable to receive media content and/or advertisements from the media provider 103 via the communication infrastructure 104. The PVR enabled STB 105 may be operable to store an advertisement and associated playback control information received from the media provider 103 into the storage device in the PVR enabled STB 105, schedule the stored advertisement for viewing based on the associated playback control information, and cause display of the stored advertisement at a scheduled time based on the scheduling and a PVR operation of the PVR enabled STB 105. The PVR enabled STB 105 may be operable to insert the stored advertisement into media content for one or more times based on the scheduling. The PVR enabled STB 105 may be operable to cause display of the stored advertisement and the media content in different transport formats. The PVR enabled STB 105 may be operable to replace an original advertisement carried in the media content with the stored advertisement. The PVR enabled STB 105 may be operable to convert a transport format associated with the stored advertisement to a different transport format associated with the media content for display.

The PVR enabled STB 105 may be operable to receive the media content remotely from the media provider 103 or receive the media content locally from the storage device during a PVR playback of the PVR operation. In this regard, the PVR enabled STB 105 may be operable to set a play count associated with the stored advertisement to a value of zero at a beginning of the PVR playback, increase the play count according to the display of the stored advertisement during the PVR playback and compare the play count to a count threshold at a forward/reverse playback position such as, for example, FF, REW during the PVR playback. In instances when the play count associated with the stored advertisement is less than the count threshold at the forward/reverse playback position, the PVR enabled STB 105 may be operable to cause display of the stored advertisement, increase the play count associated with the stored advertisement by a value of one at an end of the display of the stored advertisement and cause display of the media content at the end of the display of the stored advertisement. In instances when the play count associated with the stored advertisement is equal to or greater than the count threshold at the forward/reverse playback position, the PVR enabled STB 105 may be operable to cause display of the media content directly. The TV screen 106 may be operable to display or present the processed media content and/or advertisements to users.

FIG. 2 is a block diagram illustrating an exemplary PVR enabled STB that is operable to provide advertisement insertion and playback for STB with PVR functionality, in accordance with an embodiment of the invention. Referring to FIG. 2, there is shown a PVR enabled STB 200. The PVR enabled STB 200 may comprise an Ad processing module 202, an audio and video decoder 204, a storage device 206, a memory 208 a processor 210 and a system bus 212.

The Ad processing module 202 may comprise suitable logic, circuitry, interfaces and/or code that may be operable to receive advertisements from the media provider 103 and process the advertisements for viewing. The Ad processing module 202 may be operable to store an advertisement and associated playback control information such as, for example, an insertion descriptor received from a media provider 103 into the storage device 206, schedule the stored advertisement for viewing based on the associated playback control information, and insert and playback the stored advertisement at a scheduled time based on the scheduling and a PVR operation of the PVR enabled STB 200. The Ad processing module 202 may be operable to insert the stored advertisement into media content for one or more times based on the scheduling. In an exemplary embodiment of the invention, the Ad processing module 202 may be operable to insert or splice the stored advertisement into the media content in different transport formats. Different transport formats may comprise MPEG-2, ASF, Flash, MP4, DIRECTV DSS, etc. In this regard, for example, the stored advertisement may be in a DIRECTV DSS format while the media content may be in a MPEG-2 transport format. In an exemplary embodiment of the invention, the Ad processing module 202 may be operable to replace an original advertisement carried in the media content with the stored advertisement. In an exemplary embodiment of the invention, the Ad processing module 202 may be operable to convert a transport format associated with the stored advertisement such as a DIRECTV DSS format to a different transport format associated with the media content such as a MPEG-2 transport format for processing.

The Ad processing module 202 may be operable to insert the stored advertisement into media content that may be broadcast content received remotely from the media provider 103 or pre-recorded content received locally from the storage device 206 during a PVR playback of the PVR operation of the PVR enabled STB 200. In this regard, the Ad processing module 202 may be operable to set a play count associated with the stored advertisement to a value of zero at a beginning of the PVR playback, increase the play count according to the playback of the stored advertisement during the PVR playback and compare the play count to a count threshold at a forward/reverse playback position during the PVR playback. The forward/reverse playback positions may comprise, for example, FF, REW or the like. In instances when the play count associated with the stored advertisement is less than the count threshold at the forward/reverse playback position, the Ad processing module 202 may be operable to playback the stored advertisement, increase the play count associated with the stored advertisement by a value of one at an end of the playback of the stored advertisement and enable a playback of the media content at the end of the playback of the stored advertisement. In instances when the play count associated with the stored advertisement is equal to or greater than the count threshold at the forward/reverse playback position, the Ad processing module 202 may be operable to enable a playback of the media content directly without a playback of the stored advertisement.

The audio and video decoder 204 may comprise suitable logic, circuitry, interfaces and/or code that may be operable to process or decode the audio and video streams of media content and/or the inserted advertisements. The processed or decoded audio and video streams may be presented at the TV screen 106. The audio and video decoder 204 may be configured to specify and display the inserted advertisement and the media content in different transport formats.

The storage device 206 may comprise suitable logic, circuitry, interfaces and/or code that may be operable to store media content or TV programs for playing and/or advertisements for insertion and playback utilizing the PVR functionality of the PVR enabled STB 200. The storage device 206 may comprise, for example, a hard disk, a flash drive or other non-volatile storage device.

The memory 208 may comprise suitable logic, circuitry, interfaces and/or code that may be operable to store information such as executable instructions and data that may be utilized by the processor 210, the audio and video decoder 204 and the ad processing module 202 to perform various functions of the PVR enabled STB 200.

The processor 210 may comprise suitable logic, circuitry, interfaces and/or code that may be operable to communicate with the audio and video decoder 204 and the ad processing module 202 to perform the processing or decoding functions, the advertisement insertion and playback functions and the PVR functions of the PVR enabled STB 200.

The system bus 212 may comprise suitable logic, circuitry, interfaces and/or code that may be operable to provide communication connections for transferring data among modules such as, for example, the Ad processing module 202, the audio and video decoder 204, the storage device 206, the memory 208 and the processor 210 in the PVR enabled STB 200.

In operation, The Ad processing module 202 may be operable to store an advertisement and associated playback control information received from a media provider 103 into the storage device 206, schedule the stored advertisement for viewing based on the associated playback control information, and insert and playback the stored advertisement at a scheduled time based on the scheduling and a PVR operation of the PVR enabled STB 200. The Ad processing module 202 may be operable to insert the stored advertisement into media content for one or more times based on the scheduling. The Ad processing module 202 may be operable to insert or splice the stored advertisement into the media content in different transport formats. The Ad processing module 202 may be operable to replace an original advertisement carried in the media content with the stored advertisement. The Ad processing module 202 may be operable to convert a transport format associated with the stored advertisement to a different transport format associated with the media content for processing.

The Ad processing module 202 may be operable to insert the stored advertisement into media content that may be broadcast content received remotely from the media provider 103 or pre-recorded content received locally from the storage device 206 during a PVR playback of the PVR operation of the PVR enabled STB 200. In this regard, the Ad processing module 202 may be operable to set a play count associated with the stored advertisement to a value of zero at a beginning of the PVR playback, increase the play count according to the playback of the stored advertisement during the PVR playback and compare the play count to a count threshold at a forward/reverse playback position during the PVR playback. In instances when the play count associated with the stored advertisement is less than the count threshold at the forward/reverse playback position, the Ad processing module 202 may be operable to playback the stored advertisement, increase the play count associated with the stored advertisement by a value of one at an end of the playback of the stored advertisement and enable a playback of the media content at the end of the playback of the stored advertisement. In instances when the play count associated with the stored advertisement is equal to or greater than the count threshold at the forward/reverse playback position, the Ad processing module 202 may be operable to enable a playback of the media content directly without a playback of the stored advertisement. The audio and video decoder 204 may be operable to process or decode and present the media content and/or the inserted advertisement at the TV screen 106. The audio and video decoder 204 may be configured to specify and display the inserted advertisement and the media content in different transport formats.

FIG. 3 is a block diagram illustrating an exemplary Ad processing module that is operable to provide advertisement insertion and playback for STB with PVR functionality, in accordance with an embodiment of the invention. Referring to FIG. 3, there is shown an Ad processing module 300. The Ad processing module 300 may comprise an Ad manager 302, an insertion control manager 304, a tag/linklist/playlist generator 306, an Ad splicer 308 and a PVR Ad controller 310.

The Ad manager 302 may comprise suitable logic, circuitry, interfaces and/or code that may be operable to manager advertisements pushed and received from the media provider 103. The Ad manager 302 may be operable to store the advertisements and associated playback control information, such as, for example, insertion descriptors into the storage device 206 ahead of insertion/playback times.

The insertion control manager 304 may comprise suitable logic, circuitry, interfaces and/or code that may be operable to monitor and extract playback insertion information such as, for example, insertion descriptors. The insertion control manager 304 may be operable to monitor media content streams for insertion triggers such as, for example, digital cue-packets. When the insertion triggers are received, the stored advertisement may be inserted or spliced into the media content for display.

The tag/linklist/playlist generator 306 may comprise suitable logic, circuitry, interfaces and/or code that may be operable to generate a tag/linklist/playlist for a stored advertisement utilizing the associated playback control information such as, for example, the insertion descriptor. The tag/linklist/playlist generator 306 may be operable to determine and schedule the stored advertisement to be played based on the associated tag/linklist/playlist. The tag/linklist/playlist generator 306 may be operable to determine and schedule the stored advertisement to be inserted into media content for one or more (multiple) times.

The Ad splicer 308 may comprise suitable logic, circuitry, interfaces and/or code that may be operable to insert or splice a stored advertisement into media content for display as triggered by an insertion trigger and specified by an associated tag/linklist/playlist. The Ad splicer 308 may be operable to insert or splice the stored advertisement into the media content in different transport formats. Different transport formats may comprise MPEG-2, ASF, Flash, MP4, DIRECTV DSS, etc. In this regard, for example, the stored advertisement may be in a DIRECTV DSS format while the media content may be in a MPEG-2 transport format. The Ad splicer 308 may be operable to replace an original advertisement carried in media content with the stored advertisement from the storage device 206. The Ad splicer 308 may be operable to convert a transport format associated with the stored advertisement such as a DIRECTV DSS format to a different transport format associated with the media content such as a MPEG-2 transport format for splicing.

The PVR Ad controller 310 may comprise suitable logic, circuitry, interfaces and/or code that may be operable to control the insertion and playback of a stored advertisement at a forward/reverse playback position during a PVR playback of a PVR operation. The forward/reverse playback position may comprise, for example, FF, REW or the like. The PVR Ad controller 310 may be operable to generate an index table for efficient look ups and/or access of correlated advertisement information associated with media content during the PVR playback. At a beginning of the PVR playback, the PVR Ad controller 310 may be operable to set a play count, for example, in a secure RAM of the memory 208 associated with the stored advertisement to a value of zero, and increase the play count according to the insertion and playback of the stored advertisement during the PVR playback.

At a forward/reverse position such as, for example, a FF or a REW during the PVR playback, the PVR Ad controller 310 may be operable to determine a picture position of the media content, identify the correlated advertisement information utilizing the index table and determine the associated play count value. In instances when the play count associated with the stored advertisement is less than a specified count threshold at the forward/reverse playback position, the PVR Ad controller 310 may be operable to playback the stored advertisement, increase the play count associated with the stored advertisement by a value of one at an end of the playback of the stored advertisement and enable a playback of the media content from the picture position at the end of the playback of the stored advertisement. In instances when the play count associated with the stored advertisement is equal to or greater than the specified count threshold at the forward/reverse playback position, the PVR Ad controller 310 may be operable to enable a playback of the media content directly from the picture position without a playback of the stored advertisement.

In operation, the Ad manager 302 may be operable to store the advertisements and associated playback control information, such as, for example, insertion descriptors into the storage device 206 ahead of insertion/playback times. The insertion control manager 304 may be operable to monitor and extract playback insertion information such as, for example, insertion descriptors. The insertion control manager 304 may be operable to monitor media content streams for insertion triggers. The tag/linklist/playlist generator 306 may be operable to generate a tag/linklist/playlist for a stored advertisement utilizing the associated playback control information such as, for example, the insertion descriptor. The tag/linklist/playlist generator 306 may be operable to determine and schedule the stored advertisement to be played based on the associated tag/linklist/playlist. The tag/linklist/playlist generator 306 may be operable to determine and schedule the stored advertisement to be inserted into media content for one or more (multiple) times. The Ad splicer 308 may be operable to insert or splice a stored advertisement into media content for display as triggered by an insertion trigger and specified by an associated tag/linklist/playlist. The Ad splicer 308 may be operable to insert or splice the stored advertisement into the media content in different transport formats. In this regard, for example, the stored advertisement may be in a DIRECTV DSS format while the media content may be in a MPEG-2 transport format. The Ad splicer 308 may be operable to replace an original advertisement carried in media content with the stored advertisement from the storage device 206. The Ad splicer 308 may be operable to convert a transport format associated with the stored advertisement such as a DIRECTV DSS format to a different transport format associated with the media content such as a MPEG-2 transport format for splicing.

The PVR Ad controller 310 may be operable to control the insertion and playback of a stored advertisement at a forward/reverse playback position during a PVR playback of a PVR operation. The PVR Ad controller 310 may be operable to generate an index table for efficient look ups and/or access of correlated advertisement information associated with media content during the PVR playback. At a beginning of the PVR playback, the PVR Ad controller 310 may be operable to set a play count associated with the stored advertisement to a value of zero, and increase the play count according to the insertion and playback of the stored advertisement during the PVR playback.

At a forward/reverse position such as, for example, a FF or a REW during the PVR playback, the PVR Ad controller 310 may be operable to determine a picture position of the media content, identify the correlated advertisement information utilizing the index table and determine the associated play count value. In instances when the play count associated with the stored advertisement is less than a specified count threshold at the forward/reverse playback position, the PVR Ad controller 310 may be operable to playback the stored advertisement, increase the play count associated with the stored advertisement by a value of one at an end of the playback of the stored advertisement and enable a playback of the media content from the picture position at the end of the playback of the stored advertisement. In instances when the play count associated with the stored advertisement is equal to or greater than the specified count threshold at the forward/reverse playback position, the PVR Ad controller 310 may be operable to enable a playback of the media content directly from the picture position without a playback of the stored advertisement.

FIG. 4 is a flow chart illustrating exemplary steps for advertisement insertion and playback for STB with PVR functionality, in accordance with an embodiment of the invention. Referring to FIG. 4, the exemplary steps start at step 401. In step 402, the PVR enabled STB 200 may be operable to receive an advertisement and associated playback control information from a media provider 103. In step 403, the PVR enabled STB 200 may be operable to store the advertisement and the associated playback control information into a storage device 206. In step 404, the PVR enabled STB 200 may be operable to schedule the stored advertisement for viewing based on the associated playback control information. In step 405, a PVR playback is checked. In instances when there is no PVR playback and media content is broadcast content received from the media provider 103, the exemplary steps may proceed to step 407. In step 407, the PVR enabled STB 200 may be operable to cause display of the stored advertisement at a scheduled time. The exemplary steps may proceed to the end step 408. In step 405, in instances when there is a PVR playback and media content is pre-recorded content received from the storage device 206 during the PVR playback, the exemplary steps may proceed to step 406. In step 406, the PVR enabled STB 200 may be operable to cause display of the stored advertisement at a scheduled time and control the display of the stored advertisement at a forward/reverse playback position during the PVR playback. The exemplary steps may proceed to the end step 408.

FIG. 5 is a flow chart illustrating exemplary steps for controlling advertisement insertion and playback during PVR playback, in accordance with an embodiment of the invention. Referring to FIG. 5, the exemplary steps start at step 501. In step 502, The PVR enabled STB 200 may be operable to set a play count associated with a stored advertisement to a value of zero at a beginning of a PVR playback. In step 503, the PVR enabled STB 200 may be operable to cause display of the stored advertisement at a scheduled time and increase the play count accordingly during the PVR playback. In step 504, a forward/reverse playback position is checked. In instances when the PVR is at a forward/reverse playback position, the exemplary steps may proceed to step 505. In step 505, the PVR enabled STB 200 may be operable to determine a picture position of media content and compare the play count to a count threshold. In step 506, the result of the comparison between the play count and the count threshold is checked. In instances when the play count is less than the count threshold, the exemplary steps may proceed to step 507. In step 507, the PVR enabled STB 200 may be operable to cause display of the stored advertisement. In step 508, the PVR enabled STB 200 may be operable to increase the play count by a value of one at an end of the display of the stored advertisement. In step 509, the PVR enabled STB 200 may be operable to cause display of the media content from the picture position. In step 510, an end of the PVR playback is checked. In instances when the PVR is at an end of the PVR playback, the exemplary steps may proceed to the end step 511. In step 504, in instances when the PVR is not at a forward/reverse playback position, the exemplary steps may proceed to step 510. In step 506, in instances when the play count is equal to or greater than the count threshold, the exemplary steps may proceed to step 509. In step 510, instances when the PVR is not at an end of the PVR playback, the exemplary steps may proceed to step 503.

In various embodiments of the invention, a PVR enabled STB 105, 200 may be operable to store an advertisement and associated playback control information received from a media provider 103 into a storage device 206 in the PVR enabled STB 105, 200, schedule the stored advertisement for viewing based on the associated playback control information, and cause display of the stored advertisement at a scheduled time based on the scheduling and a PVR operation of the PVR enabled STB 105, 200. The PVR enabled STB 200 may be operable to insert the stored advertisement into media content for one or more times based on the scheduling. In this regard, the PVR enabled STB 200 may be operable to cause display of the stored advertisement and the media content in different transport formats. The PVR enabled STB 200 may be operable to replace an original advertisement carried in the media content with the stored advertisement. The PVR enabled STB 200 may be operable to convert a transport format associated with the stored advertisement to a different transport format associated with the media content for display.

The PVR enabled STB 105, 200 may be operable to receive the media content remotely from the media provider 103 or receive the media content locally from the storage device 206 during a PVR playback of the PVR operation. In this regard, the PVR enabled STB 200 may be operable to set a play count associated with the stored advertisement to a value of zero at a beginning of the PVR playback, increase the play count according to the display of the stored advertisement during the PVR playback and compare the play count to a count threshold at a forward/reverse playback position during the PVR playback. In instances when the play count associated with the stored advertisement is less than the count threshold at the forward/reverse playback position, the PVR enabled STB 200 may be operable to cause display of the stored advertisement, increase the play count associated with the stored advertisement by a value of one at an end of the display of the stored advertisement and cause display of the media content at the end of the display of the stored advertisement. In instances when the play count associated with the stored advertisement is equal to or greater than the count threshold at the forward/reverse playback position, the PVR enabled STB 200 may be operable to cause display of the media content directly.

Another embodiment of the invention may provide a machine and/or computer readable storage and/or medium, having stored thereon, a machine code and/or a computer program having at least one code section executable by a machine and/or a computer, thereby causing the machine and/or computer to perform the steps as described herein for advertisement insertion and playback for STB with PVR functionality.

Accordingly, the present invention may be realized in hardware, software, or a combination of hardware and software. The present invention may be realized in a centralized fashion in at least one computer system or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system or other apparatus adapted for carrying out the methods described herein is suited. A typical combination of hardware and software may be a general-purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein.

The present invention may also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which when loaded in a computer system is able to carry out these methods. Computer program in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: a) conversion to another language, code or notation; b) reproduction in a different material form.

While the present invention has been described with reference to certain embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the present invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the present invention without departing from its scope. Therefore, it is intended that the present invention not be limited to the particular embodiment disclosed, but that the present invention will include all embodiments falling within the scope of the appended claims. 

1. A method in a media provider system for advertisement insertion, comprising: transmitting media content to a set top box; inserting an advertisement into the media content when a play count is less than a count threshold associated with the advertisement; incrementing the play count in response to insertion of the advertisement; comparing the play count to the count threshold; and continuing to insert the advertisement into the media content until the play count reaches the count threshold.
 2. The method of claim 1, wherein comparing the play count to the count threshold comprises: comparing the play count to the count threshold in response to at least one of: a forward playback and a reverse playback.
 3. The method of claim 2, wherein inserting an advertisement into the media content when a play count associated with the advertisement is less than a count threshold comprises: inserting the advertisement into the media content in response to at least one of: a forward playback and a reverse playback.
 4. The method of claim 2, wherein inserting an advertisement into the media content when a play count associated with the advertisement is less than a count threshold comprises: inserting the advertisement into the media content in response to a scheduled time.
 5. The method of claim 1, further comprising: setting the count threshold associated with the advertisement.
 6. The method of claim 1, further comprising: when the play count is greater than the count threshold, transmitting the media content without the advertisement.
 7. A method for advertisement insertion, comprising: storing an advertisement and associated playback control information into a storage device, wherein the associated playback control information includes a count threshold; scheduling the stored advertisement into media content based on the associated playback control information; setting a play count associated with the stored advertisement; inserting the stored advertisement into the media content based on the scheduling; transmitting the media content for display on a display device; incrementing the play count in response to inserting the stored advertisement; and comparing the play count to the count threshold.
 8. The method of claim 7, further comprising: receiving the media content from a media provider.
 9. The method of claim 7, further comprising: receiving the media content from the storage device.
 10. The method of claim 7, further comprising: converting a format of the stored advertisement into a different format.
 11. The method of claim 10, wherein converting a format of the stored advertisement comprises: converting the format of the stored advertisement into the different format associated with the media content.
 12. The method of claim 7, further comprising: replacing an original advertisement in the media content with the stored advertisement.
 13. The method of claim 7, wherein comparing the play count to the count threshold comprises: comparing the play count to the count threshold during at least one of: a forward playback position and a reverse playback position.
 14. The method of claim 7, wherein inserting the stored advertisement into the media content based on the scheduling comprises: inserting the stored advertisement when the play count is less than the count threshold;
 15. The method of claim 7, further comprising: when the play count is greater than the count threshold, transmitting the media content for display on the display device without the stored advertisement.
 16. A system for advertisement insertion, comprising: a storage device operable to store an advertisement; one or more processors operable to: insert the advertisement into media content when a play count is less than a count threshold associated with the advertisement; increment the play count in response to insertion of the advertisement; compare the play count to the count threshold; and continue to insert the advertisement into the media content until the play count reaches the count threshold.
 17. The system of claim 16, wherein the one or more processors are operable to: compare the play count to the count threshold during at least one of: a forward playback and a reverse playback.
 18. The system of claim 17, wherein the one or more processors are operable to: insert the advertisement into the media content in response to at least one of: a forward playback and a reverse playback.
 19. The system of claim 17, wherein the one or more processors are operable to: set the count threshold associated with the advertisement.
 20. The system of claim 17, wherein the one or more processors are operable to: transmit the media content to a display device; and when the play count is greater than the count threshold, transmit the media content to the display device without inserting the advertisement. 